package com.koron.operation.classes.info.bean.po;

import com.koron.bean.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.util.StringUtils;

import java.util.Date;

/**
 * 班别分类表(ClassesClassify)表实体类
 *
 * @author jzp
 * @since 2023-05-25
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "班别分类表", description = "ClassesClassify")
public class ClassesClassify extends BaseBean {

    /**
     * 方案名称
     */
    @ApiModelProperty("方案名称")
    private String name;

    /**
     * 值班人员类型，数据字典：operation_staff_type
     */
    @ApiModelProperty("值班人员类型，数据字典：operation_staff_type")
    private String staffType;

    /**
     * 值班单位id
     */
    @ApiModelProperty("值班单位id")
    private String deptId;

    /**
     * 值班单位名称
     */
    @ApiModelProperty("值班单位名称")
    private String deptName;

    /**
     * 班别开始时间
     */
    @ApiModelProperty("班别开始时间")
    private Date startTime;

    /**
     * 提交交班时间
     */
    @ApiModelProperty("提交交班时间")
    private Double advanceShiftTime;

    /**
     * 提前交班单位
     */
    @ApiModelProperty("提前交班单位")
    private String advanceShiftUnit;

    /**
     * 排序字段
     */
    @ApiModelProperty("排序字段")
    private Integer sort;

    public Long computeAdvanceTime() {
        if (advanceShiftTime == null || StringUtils.isEmpty(advanceShiftUnit)) return null;
        long v = (long) (advanceShiftTime * 60 * 1000L);
        // 0分钟, 1小时
        return "0".equals(advanceShiftUnit) ? v : v * 60;
    }
}

